Charm++ & MPI: Combining the Best of Both Worlds
نویسندگان
چکیده
MPI and Charm++ embody two distinct perspectives for writing parallel programs. While MPI provides a processor-centric, user-driven model for developing parallel codes, Charm++ supports work-centric, overdecompositionbased, system-driven parallel programming. One or the other can be the best or most natural fit for distinct modules that constitute a parallel application. In this paper, we present a framework that enables hybrid parallel programming with MPI and Charm++, and allows programmers to develop different modules of a parallel application in these two languages while facilitating smooth interoperation. We describe the challenges in enabling interoperation between MPI and Charm++, and present techniques for managing the control flow and resource sharing in such scenarios. Finally, we demonstrate the benefits of interoperation between MPI and Charm++ through several case studies that use production applications and libraries, including CHARM/Chombo, EpiSimdemics, NAMD, FFTW, MPI-IO and ParMETIS.
منابع مشابه
Best of Both Worlds; Comment on “(Re) Making the Procrustean Bed? Standardization and Customization as Competing Logics in Healthcare”
This article builds on Mannion and Exworthy’s account of the tensions between standardization and customization within health services to explore why these tensions exist. It highlights the limitations of explanations which root them in an expression of managerialism versus professionalism and suggests that each logic is embedded in a set of ontological, epistemological and moral commitments wh...
متن کاملOptimizing Charm++ over MPI
Charm++ may employ any of a myriad network-specific APIs for handling communication, which are usually promoted as being faster than its catch-all MPI module. Such a performance difference not only causes development effort to be spent on tuning vendor-specific APIs but also discourages hybrid Charm++/MPI applications. We investigate this disparity across several machines and applications, rang...
متن کاملHandling Transient and Persistent Imbalance Together in Distributed and Shared Memory
The recent trend of rapid increase in the number of cores per chip has resulted in vast amount of on-node parallelism. Not only the number of cores per node is increasing substantially but also the cores are becoming heterogeneous. The high variability in the performance of the hardware components introduce imbalance due to heterogeneity. The applications are also becoming more complex resultin...
متن کاملOn Interoperation among User-driven and System-driven Parallel Languages
Modern parallel codes are often written as a collection of several diverse modules. Different programming languages might be the best or natural fit for each of these modules or for different libraries that are used together in an application. For such applications, the restriction of implementing the entire application in a single parallel language may impact the application’s performance and ...
متن کاملEstimation of gene effects and combining ability of latent period of stripe rust in advanced lines of wheat
Four advanced breeding lines of wheat which had appeared to be resistant to stripe rust in the past years along with a susceptible variety, Bolani, were intercrossed in all combinations of a half-diallel design. Seedlings were grown in greenhouse until the first leaves fully expanded and then inoculated with two pathotypes (races) 6E134A+ and 134E148A+, separately. Days to the first pustule eru...
متن کامل